//冒泡排序

#include <utility>

using std::swap; 

#pragma once

//对数组 a[0....n-1] 进行冒泡排序
//其中元素从小到大排列
template <typename E>
void BubbleSort(E a[], int n)
{
    for(int i=0;i<n-1;i++){
        bool change = false;
        for(int j = 0; j<n-i-1; j++){
            if(a[j] > a[j+1]){
               swap(a[j],a[j+1]);
               change = true;
            }
        }
        if(!change) break;
    }
}